import os

from langchain_core.prompts import PromptTemplate
from langchain_openai import  ChatOpenAI
from app.db.LangchainDb import chat as chat_db

# 设置HTTP和HTTPS代理服务器地址
os.environ["http_proxy"] = "127.0.0.1:8888"
os.environ["https_proxy"] ="127.0.0.1:8888"
# 设置模型名称，模型密钥，模型地址
model = ChatOpenAI(model="deepseek-chat",api_key= "你的密钥",base_url= "https://api.deepseek.com",temperature=0)

def chat(message: str):

    #调用db层的接口，获取sql执行结果
    execute_query = chat_db(message)

    # 创建提示模板
    answer_prompt = PromptTemplate.from_template(
        """给定以下用户问题，SQL执行的结果，回答问题
        Question: {question}
        Execute_Query:{execute_query}
        你是一个用户管理系统的助手，要处理拿到的SQL执行的结果，如果execute_query查询不到结果，可以用知识库的知识回答，
        热情礼貌的回答每一个问题，你不能很生硬的给出答案比如出现专业的计算机术语，出现奇怪的特殊符号，出现不好的态度
        对话对象是智力障碍人群，一定要用温柔的语气，尽量把答案回答的很详细
        """
    )

    # 创建回答链
    answer_chain = answer_prompt | model

    result = answer_chain.invoke({"question": message, "execute_query": execute_query}).content

    return result